<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');
session_start();

class jx_costosGastos extends CI_Controller {

    private $establecimiento;
    private $inventario;

    public function __construct() {
        parent::__construct();
        $this->load->model('historial_costom');
        $this->load->model('_costom');
        $this->load->model('monedam');

        $this->establecimiento = $_SESSION["establecimiento"]["id_establecimiento"];
    }

    public function index() {
        
    }

    public function search() {
        if (!empty($_POST)) {
            $this->escapar($_POST);
            if (isset($_POST['fechaIni'])) {
                $this->formatoFechaBD($_POST['fechaIni']);
            }
            if (isset($_POST['fechaFin'])) {
                $this->formatoFechaBD($_POST['fechaFin']);
            }
            $limit = 20;
            $offset = $_POST['pagina'] * ($limit) - $limit;

            $query = "SELECT hc.id_historial_costo, hc.modo_pago, hc.descripcion, hc.fecha, hc.id_costo, hc.valor, hc.usuario_encargado, c.id_costo, c.nombre, u.nombre_completo FROM usuario u, costo c, historial_costo hc  WHERE c.id_costo=hc.id_costo AND c.id_establecimiento='{$_SESSION['establecimiento']['id_establecimiento']}' AND hc.id_establecimiento='{$_SESSION['establecimiento']['id_establecimiento']}' AND hc.usuario_encargado=u.id_usuario AND ";
            $query.=(!empty($_POST['tipoB'])) ? " hc.id_costo = '{$_POST['tipoB']}' AND " : " ";
            $query.=(!empty($_POST['nacionalidad'])) ? "c.nacionalidad = '{$_POST['nacionalidad']}' AND " : " ";
            $query.=(!empty($_POST['fechaIni'])) ? " hc.fecha >= '{$_POST['fechaIni']} 00:00:00' AND " : " ";
            $query.=(!empty($_POST['fechaFin'])) ? " hc.fecha <= '{$_POST['fechaFin']} 23:59:59' AND " : " ";
            $query.=(!empty($_POST['usuario'])) ? " u.id_usuario= '{$_POST['usuario']}' AND " : " ";
            $query.=" TRUE ORDER BY hc.id_historial_costo ";

            $query2 = "SELECT COALESCE(sum(hc.valor),0) total FROM usuario u, costo c, historial_costo hc  WHERE c.id_costo=hc.id_costo AND c.id_establecimiento='{$_SESSION['establecimiento']['id_establecimiento']}' AND hc.id_establecimiento='{$_SESSION['establecimiento']['id_establecimiento']}' AND hc.usuario_encargado=u.id_usuario AND ";
            $query2.=(!empty($_POST['tipoB'])) ? " hc.id_costo = '{$_POST['tipoB']}' AND " : " ";
            $query2.=(!empty($_POST['nacionalidad'])) ? "c.nacionalidad = '{$_POST['nacionalidad']}' AND " : " ";
            $query2.=(!empty($_POST['fechaIni'])) ? " hc.fecha >= '{$_POST['fechaIni']} 00:00:00' AND " : " ";
            $query2.=(!empty($_POST['fechaFin'])) ? " hc.fecha <= '{$_POST['fechaFin']} 23:59:59' AND " : " ";
            $query2.=(!empty($_POST['usuario'])) ? " u.id_usuario= '{$_POST['usuario']}' AND " : " ";
            $query2.=" TRUE ";

            $query3 = "SELECT count(*) cantidad FROM usuario u, costo c, historial_costo hc  WHERE c.id_costo=hc.id_costo AND c.id_establecimiento='{$_SESSION['establecimiento']['id_establecimiento']}' AND hc.id_establecimiento='{$_SESSION['establecimiento']['id_establecimiento']}' AND hc.usuario_encargado=u.id_usuario AND ";
            $query3.=(!empty($_POST['tipoB'])) ? " hc.id_costo = '{$_POST['tipoB']}' AND " : " ";
            $query3.=(!empty($_POST['nacionalidad'])) ? "c.nacionalidad = '{$_POST['nacionalidad']}' AND " : " ";
            $query3.=(!empty($_POST['fechaIni'])) ? " hc.fecha >= '{$_POST['fechaIni']} 00:00:00' AND " : " ";
            $query3.=(!empty($_POST['fechaFin'])) ? " hc.fecha <= '{$_POST['fechaFin']} 23:59:59' AND " : " ";
            $query3.=(!empty($_POST['usuario'])) ? " u.id_usuario= '{$_POST['usuario']}' AND " : " ";
            $query3.=" TRUE ";
            $result = $this->historial_costom->query($query);
            $result2 = $this->historial_costom->query($query2);
            $result3 = $this->historial_costom->query($query3);

            $n = sizeof($result);
            $query.="LIMIT $limit OFFSET $offset";
            $this->createTableVentas($query, $_POST['pagina'], $n, $limit);
            echo "<input id='totalGastos' type='text' class='hide' value='{$_SESSION["establecimiento"]["moneda"]}" . number_format($result2[0]->total) . "'>
                <input id='numeroRegistros' type='text'  class='hide' value='" . number_format($result3[0]->cantidad, 2, ".", ",") . "'>
            ";
        }
    }

    //funcion encargada de crear la tabla con los resultados arrojados 
    public function createTableVentas($query, $pagina, $nFilas, $limit) {
        $table = "";
        $compras = $this->historial_costom->query($query);
        $simbolo = $_SESSION["establecimiento"]["moneda"];
        //  var_dump($productos);
        foreach ($compras as $compra) {
            $date = new DateTime($compra->fecha);
            $compra->fecha = $date->format('d/m/Y H:i:s');
            $class = "Vermas";
            $table.="<tr>
                                    <td>$compra->fecha</td>
                                    <td>$compra->nombre</td>
                                    <td>$simbolo" . number_format($compra->valor, 2, ".", ",") . "</td>
                                    <td>$compra->modo_pago</td>     
                                    <td>$compra->nombre_completo</td>                                   
                                    <td class='anchoCeldaOpcionesVentas'>
                                        <a href='#modalVercosto' class='btn btn-mini btn-inverse  $class' type='button' data-toggle='modal' data-fecha='{$compra->fecha}' data-name_user='{$compra->nombre_completo}' data-idHC='{$compra->id_historial_costo}' data-idCosto='{$compra->id_costo}' data-valor='{$compra->valor}' data-modo_pago='{$compra->modo_pago}' data-descripcion='{$compra->descripcion}'>Ver mas</a>                                                                  
                                            <a href='#confirmatioDelete' class='btn btn-mini btn-danger eliminar' data-toggle='modal'  data-id_historial_costo='{$compra->id_historial_costo}' >x</a>
                                    </td>
                                </tr>  ";
        }

        echo "$table %%% " . $this->createPagination($nFilas, $pagina, $limit);
    }

    public function createPagination($n, $active, $limit) {
        $n = ceil($n / $limit);
        // return $n;
        $pagination = "<ul>";
        for ($i = 1; $i <= $n; $i++) {
            $pagination.="<li ";
            $pagination.=($i == $active) ? " class=active>" : ">";
            $pagination.="<a class='pagination' data-pagina='$i' href='#'>$i</a></li>";
        }
        $pagination .= "</ul>";
        return $pagination;
    }

    public function deleteCosto() {

        if (!empty($_POST)) {
            $this->escapar($_POST);
            $valor = $this->historial_costom->getCostoById($_POST['idCosto'], $_SESSION['establecimiento']['id_establecimiento']);
            $this->addCaja($valor[0]->valor);
            $result = $this->historial_costom->deleteHistorialC($_SESSION['establecimiento']['id_establecimiento'], $_POST['idCosto']);
        }
    }

}
